import os
import re
from collections import defaultdict

folder_path = r" C:\Users\miche\Videos\Test Rename "
files = sorted([f for f in os.listdir(folder_path) if f.lower().endswith(".mp4")])
pattern = re.compile(r"^([A-Za-z0-9]+)_\d{4}_\d{2}_\d{2}")
exercise_groups = defaultdict(list)

# Group files by exercise
for file_name in files:
    match = pattern.match(file_name)
    if match:
        exercise_name = match.group(1)
        exercise_groups[exercise_name].append(file_name)

# Rename files
for exercise_name in exercise_groups:
    file_list = sorted(exercise_groups[exercise_name])

    if len(file_list) == 1:
        file_name = file_list[0]
        new_name = re.sub(r"\(\d+\)|\s*\(\d*\)", "", file_name)
        new_name = re.sub(r"\s+\.mp4$", ".mp4", new_name)
        src = os.path.join(folder_path, file_name)
